; (function () {   // 加分号是防止前面的代码由于分号结尾漏掉而出错误
    // 插件的功能
    var obj = {
        // 初始化/入口函数  
        init: function (option) {
            //  location
            this.parent = option.parent;
            this.items = option.items;
            // 行数
            this.rowNum = option.rowNum || 5;
            // 默认城市
            this.nowItem = option.newItem || this.items[0].name || '';
            // 图标
            this.nowItemImg = option.nowItemImg || '';
            this.creatDom();
            this.bindEvent();
        },
        creatDom: function () {
            // 图标 城市的父亲  location的儿子
            var wrap = $('<div class="areaContent"></div>');
            // 图标
            var nowArea = $('<div class="nowArea"></div>');
            // 城市列表
            var itemList = $('<div class="itemList"></div>');

            if(this.nowItemImg){
                var img = new Image();
                img.src = this.nowItemImg;
                img.onload = function () {
                    $(img).prependTo(nowArea);
                }
            }

            $('<span class="item-name"></span>').html(this.nowItem).appendTo(nowArea);

            this.items.forEach(function (ele, index){
                // console.log(ele, index);

                var str = '<a href="' + ele.href +'">' + ele.name +'</a>';
                $('<div class="item"></div>').append(str).appendTo(itemList);
            });
            // 将图标，城市放入 wrap
            wrap.append(nowArea).append(itemList);
            this.parent.append(wrap);
            $('#location .itemList').css({
                'width':$('.item').innerWidth() * this.rowNum + 'px',
                'top':$(this.parent).height() - 3 + 'px',
            })
        },
        bindEvent: function () {
            // var self = this;
            $('.itemList').on('click','.item',function(){
                 $('.nowActive').removeClass('nowActive');
                 $(this).addClass('nowActive');
                 $('span.item-name').text($(this).text())
            })
        }
    }

    $.fn.extend({
        areaList: function (opt) {
            opt.parent = this;
            obj.init(opt);
        }
    })
})();